package com.itlong.cloud.sdk.dao;

import com.itlong.cloud.POJO.PO.PropertyRoleProjectPO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * <desc>
 *      云对讲SDK多媒体资源数据库操作接口
 * <desc/>
 *
 * @createDate 2018/05/22
 */
@Mapper
@Repository
public interface ICloudElevatorSDKRobotDao {

    /**
     * <desc>
     *      获取原始的设备授权数据
     * </desc>
     *
     * @param params 查询参数
     * @return 原始的设备授权数据
     * @author wangzhi
     * @createDate 2018/12/18
     */
    PropertyRoleProjectPO getOriginalProjectInfoByRole4(Map<String, Object> params);

    /**
     * <desc>
     *      机器人开发者查询云电梯唯一标识。
     * </desc>
     *
     * @param params 查询参数
     * @return 原始的设备授权数据
     * @author Qiang.S
     * @createDate 2020-03-23
     */
    List<String> getRobotDevelopElevatorKey(Map<String, Object> params);


    /**
     * <desc>
     *      获取机器人的多梯权限
     * </desc>
     *
     * @param params 参数map robotId
     * @return 设备唯一码列表
     * @Author Zhu.yj
     * @createDate  2020/9/7
     */
    Integer getRobotMultiElevator(Map<String, Object> params);

    /**
     * <desc>
     *      获取机器人单梯权限
     * </desc>
     *
     * @param params 参数map robotId
     * @return 设备唯一码列表
     * @Author Zhu.yj
     * @createDate  2020/9/7
     */
    Integer getRobotSingleElevator(Map<String, Object> params);

    /**
     * <desc>
     *      获取开发者的电梯门禁权限标记
     * </desc>
     *
     * @param params 参数map
     * @return 权限map
     * @Author Zhu.yj
     * @createDate  2020/9/8
     */
    Map<String, Object> getDeveloperAuth(Map<String, Object> params);

    /**
     * <desc>
     *      获取电梯设备列表
     * </desc>
     *
     * @param params 参数map
     * @return
     * @Author Zhu.yj
     * @createDate  2021/4/12
     */
    List<String> getElevatorList(Map<String, Object> params);

}
